/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.taobao.ibatiside.model.mapperv2;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EObject;

import org.eclipse.emf.ecore.util.FeatureMap;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>General Nested Statement</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getMixed <em>Mixed</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getTgNestedCondition <em>Tg Nested Condition</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getInclude <em>Include</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIterate <em>Iterate</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsParameterPresent <em>Is Parameter Present</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsNotParameterPresent <em>Is Not Parameter Present</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsEmpty <em>Is Empty</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsNotEmpty <em>Is Not Empty</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsNotNull <em>Is Not Null</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsNull <em>Is Null</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsNotEqual <em>Is Not Equal</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsEqual <em>Is Equal</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsGreaterThan <em>Is Greater Than</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsGreaterEqual <em>Is Greater Equal</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsLessThan <em>Is Less Than</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsLessEqual <em>Is Less Equal</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsPropertyAvailable <em>Is Property Available</em>}</li>
 *   <li>{@link org.taobao.ibatiside.model.mapperv2.GeneralNestedStatement#getIsNotPropertyAvailable <em>Is Not Property Available</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement()
 * @model abstract="true"
 *        extendedMetaData="name='generalNestedStatement' kind='mixed'"
 * @generated
 */
public interface GeneralNestedStatement extends EObject {
	/**
	 * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Mixed</em>' attribute list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_Mixed()
	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
	 *        extendedMetaData="kind='elementWildcard' name=':mixed'"
	 * @generated
	 */
	FeatureMap getMixed();

	/**
	 * Returns the value of the '<em><b>Tg Nested Condition</b></em>' attribute list.
	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Tg Nested Condition</em>' attribute list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Tg Nested Condition</em>' attribute list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_TgNestedCondition()
	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='group' name='TgNestedCondition:1'"
	 * @generated
	 */
	FeatureMap getTgNestedCondition();

	/**
	 * Returns the value of the '<em><b>Include</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.Include}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Include</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Include</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_Include()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='include' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<Include> getInclude();

	/**
	 * Returns the value of the '<em><b>Iterate</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.Iterate}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Iterate</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Iterate</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_Iterate()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='iterate' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<Iterate> getIterate();

	/**
	 * Returns the value of the '<em><b>Is Parameter Present</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsParameterPresent}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Parameter Present</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Parameter Present</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsParameterPresent()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isParameterPresent' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsParameterPresent> getIsParameterPresent();

	/**
	 * Returns the value of the '<em><b>Is Not Parameter Present</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsNotParameterPresent}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Not Parameter Present</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Not Parameter Present</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsNotParameterPresent()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isNotParameterPresent' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsNotParameterPresent> getIsNotParameterPresent();

	/**
	 * Returns the value of the '<em><b>Is Empty</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsEmpty}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Empty</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Empty</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsEmpty()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isEmpty' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsEmpty> getIsEmpty();

	/**
	 * Returns the value of the '<em><b>Is Not Empty</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsNotEmpty}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Not Empty</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Not Empty</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsNotEmpty()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isNotEmpty' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsNotEmpty> getIsNotEmpty();

	/**
	 * Returns the value of the '<em><b>Is Not Null</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsNotNull}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Not Null</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Not Null</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsNotNull()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isNotNull' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsNotNull> getIsNotNull();

	/**
	 * Returns the value of the '<em><b>Is Null</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsNull}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Null</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Null</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsNull()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isNull' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsNull> getIsNull();

	/**
	 * Returns the value of the '<em><b>Is Not Equal</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsNotEqual}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Not Equal</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Not Equal</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsNotEqual()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isNotEqual' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsNotEqual> getIsNotEqual();

	/**
	 * Returns the value of the '<em><b>Is Equal</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsEqual}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Equal</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Equal</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsEqual()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isEqual' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsEqual> getIsEqual();

	/**
	 * Returns the value of the '<em><b>Is Greater Than</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsGreaterThan}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Greater Than</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Greater Than</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsGreaterThan()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isGreaterThan' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsGreaterThan> getIsGreaterThan();

	/**
	 * Returns the value of the '<em><b>Is Greater Equal</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsGreaterEqual}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Greater Equal</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Greater Equal</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsGreaterEqual()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isGreaterEqual' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsGreaterEqual> getIsGreaterEqual();

	/**
	 * Returns the value of the '<em><b>Is Less Than</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsLessThan}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Less Than</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Less Than</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsLessThan()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isLessThan' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsLessThan> getIsLessThan();

	/**
	 * Returns the value of the '<em><b>Is Less Equal</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsLessEqual}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Less Equal</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Less Equal</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsLessEqual()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isLessEqual' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsLessEqual> getIsLessEqual();

	/**
	 * Returns the value of the '<em><b>Is Property Available</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsPropertyAvailable}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Property Available</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Property Available</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsPropertyAvailable()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isPropertyAvailable' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsPropertyAvailable> getIsPropertyAvailable();

	/**
	 * Returns the value of the '<em><b>Is Not Property Available</b></em>' containment reference list.
	 * The list contents are of type {@link org.taobao.ibatiside.model.mapperv2.IsNotPropertyAvailable}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Is Not Property Available</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Is Not Property Available</em>' containment reference list.
	 * @see org.taobao.ibatiside.model.mapperv2.Mapperv2Package#getGeneralNestedStatement_IsNotPropertyAvailable()
	 * @model containment="true" transient="true" volatile="true" derived="true"
	 *        extendedMetaData="kind='element' name='isNotPropertyAvailable' namespace='##targetNamespace' group='TgNestedCondition:1'"
	 * @generated
	 */
	EList<IsNotPropertyAvailable> getIsNotPropertyAvailable();

} // GeneralNestedStatement
